System and method for remote maintenance of user units

ABSTRACT

A system and method for remote maintenance of user units allows efficient diagnosis of failures in a reduced time. Each user unit transmits to a management server, via a network, state data related to hardware and software parameters associated to an operating mode of the user unit. The method includes: storing state data in a user unit memory, monitoring state data stored in the memory, and detecting at least one datum of a state indicating an operational failure of the user unit. When a failure is detected, state data corresponding to current states of the user unit at the moment of the failure and state data corresponding to states stored during a predetermined period before the failure are extracted and transmitted to the management server which determines a statistic correlation coefficient between the values of each state of a user unit and the values of states of other user units.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of European Application No. EP13172086.4 filed Jun. 14, 2013, the entirety of which is incorporatedherein by reference.

FIELD

The field relates to a system and a method for remote maintenance ofuser units used for processing digital data of broadcast multimediaservices and able to transmit state data to a server via a returnchannel. More particularly, when a user unit detects an operationalfailure, it transmits to the server a state data set to be analyzed inorder to determine a probable cause of the failure.

TECHNICAL BACKGROUND

Many modern user units such as Pay-TV decoders, personal computers,mobile communication devices (mobile phones, tablets, etc.), routers,energy counters, etc. connected to a communication network such as theInternet are able to transmit to a server log files or functioninghistory records to be analyzed. Generally speaking, the log files aretransmitted when the user unit has a failure preventing its expectedoperation according to a given mode. For example, during a malfunctionof a computer program, the user can be solicited to transmit or not alog file to the supplier of the program or of the computer operatingsystem. This log file allows establishing a statistic of the failures ofthe program generally used as a basis for deciding corrective actions orcreation of program update patches.

The document WO2010/010586A1 describes a real time monitoring system ofthe state and proper functioning of different units in a communicationnetwork. The system uses a real time connection to directly orindirectly interact with an operating system of a network unit in orderto obtain a real time messages stream for processing. The messages ofthe stream are analyzed and introduced into a database as soon as theyare produced by real time acquisition of the data of the stream in aformat adapted to the database. The data processing and analysis basedon predefined algorithms are thus carried out in real time on thecontents stored in the database and result in a production of statedata. The latter are used to detect defects, to generate reports,alerts, and notifications. The processing of state data by means of adatabase of solutions allows the system to supply a user with usefulrecommendations for correcting defects or warnings indicating adefective state of a unit of the network.

Such a real time monitoring system producing permanent messages streamscan overload the communication network, especially when content datastreams of audio/video services, for example, transit via the samenetwork. Such an overload can cause a decrease of the networkperformances, in particular a diminution of the bandwidth or the contentdata throughput.

SUMMARY

Embodiments disclosed herein may achieve the aim of avoiding thedrawbacks of the real time monitoring systems for user units producingpermanent data streams in a network while allowing at the same time anefficient diagnosis of failures in a reduced time.

This aim may be achieved by a system for remote maintenance of userunits comprising a management server and a plurality of user unitsconnected to the management server via a communication network, eachuser unit being configured for transmitting to the management server,via the communication network, state data related to hardware andsoftware parameters associated to an operating mode of the user unit,the system being characterized in that each user unit comprises:

-   -   a memory configured to store the state data of the user unit        comprising variable values related to the user unit states,        values indicating a transition from an initial value of a given        state towards a final value of the same state and temporary data        associated to the states,    -   a state data monitoring module configured to detect at least one        value of a specific state or a transition of a value of a state        indicating an operational failure of the user unit,    -   a state data collecting and transmitting module configured to be        activated when a failure is detected by the monitoring module,        and to extract from the memory state data corresponding to        current states of the user unit at the moment of the failure,    -   the management server comprising a module for reception and        analysis of the state data transmitted by each user unit, said        state data forming a log file, said module being at least        configured to determine a statistic correlation coefficient        resulting from a comparison of the values of each state of all        the user units with the values of other states of all the user        units.

Also disclosed is a method for remote maintenance of user unitsconnected to a management server via a communication network, each userunit transmitting to the management server, via the communicationnetwork, state data related to hardware and software parametersassociated to an operating mode of the user unit, the method comprisingfollowing steps:

-   -   storing, in a memory of the user unit, state data comprising        variable values related to states of the user unit, values        indicating a transition from an initial value of a given state        towards a final value of the same state and temporary data        associated to the states,    -   monitoring the state data stored in the memory and detecting at        least one value of a specific state or a transition of a value        of a state indicating an operational failure of the user unit,    -   when a failure is detected, extracting, from the memory, state        data corresponding to current states of the user unit at the        moment of the failure,    -   transmitting the state data to the management server and        determining, by the management server, a statistic correlation        coefficient resulting from a comparison of the values of each        state of all the user units with the values of other states of        all the user units.

A user unit transmits state data as soon as a failure appears, or aseries of successive or sporadic failures or an operational defectindicated by a value of a particular state or by a transition from aninitial value of a state towards a final value corresponding to afailure. The management server creates a log file containing the statedata of each user unit and also a trace including stored state datarelated to a predetermined time period preceding the failure.

The states appear in several forms:

-   -   variable digital values according to the operating mode of the        user unit such as the number of the selected channel, the        temperature or the filling rate of the hard disk, the quality of        the signal etc., which have various values according to the        functioning of the user unit.    -   alphanumeric character strings such as smart card or security        module identifiers, channel or application identifiers, etc.    -   enumerations related to states being able to take a predefined        number N of values.

For example, for N=2, a state “crash” is represented by a binary valueindicating a state of normal operating: “crash=0” and a state indicatinga failure: “crash=1”.

The states are preferably associated to temporary data like the date andthe time indicating the moment at which a particular event occurred suchas for example a failure or a sudden decrease of the signal quality oran increase of the channel change time. An abnormal variation of adigital value like for example when the switching time from a currentchannel to another channel significantly increases, the value of a “zaptime” state exceeds a predefined threshold which leads to a transitionrepresented by a “slow zap” state which passes from a value 0 to avalue 1. As used herein, “zapping” refers to changing channels and is asynonym for what is colloquially known as “channel hopping” or “channelsurfing.”

The log file thus contains for each state a value associated to a timedatum (date and time) and a transition associated to a time datumindicating the date and the time at which the transition took place. Atransition reflects a passage of a state from an initial value towards afinal value which may indicate a failure and activate the transmissionof the state data to the management server.

In order to allow a processing and a statistical analysis in form oftables and/or graphs, a large number of user units, for example severalthousands, transmit to the management server a high number of statedata, for example data related to 100 or even 200 states referred to apredefined time period.

The state data refer to a selection of hardware and software parametersassociated to the functioning of the user unit independently of thefailure or the defect detected by the monitoring module. Thus fordifferent types of failures, the management server can receive statedata relating to a same selection of states having different values. Thestates selection depends on a setup of the monitoring modulepre-established by the manufacturer of the user unit, and/or an operatorskilled in the maintenance of the user units who selects states to bemonitored made available by a supplier of the software installed in theuser units.

The log file tracing back the behavior of the users units is intended tobe analyzed by the management server which establishes correlations bycomparing the state data of each user unit. For example, in order toshow that the switching time from a current channel towards anotherchannel depends on the filling rate of the hard disk, the comparisonwill relate to user units having a hard disk with different filling ratevalues. The analysis of the correlation results in form of coefficientsgives useful indications for interpreting a failure in order to find itscause and appropriate solutions for solving it.

The user units can also transmit state data to the management serverwhen no failure is detected by the monitoring module, for example aftera request of the server or automatically at predefined time intervals.These state data of “healthy” user units serve as references during theanalysis of a log file to determine the origin(s) of the failure.

BRIEF DESCRIPTION OF THE FIGURE

FIG. 1 shows a block diagram of the system comprising user units eachtransmitting state data to a management server when a failure isdetected.

DETAILED DESCRIPTION

The system illustrated by FIG. 1 includes a user unit STBN in form of aPay-TV decoder also called set top box. It is connected to a managementserver S via a communication network R. The user unit STBN is configuredfor receiving a digital data stream FS of multimedia services from thenetwork R or any other wired or radio broadcast network and fortransmitting state data DE to the management server S via the network Rthanks to a return channel. Other user units STB1, STB2, STB3 configuredfor transmitting state data DE1, DE2, DE3 when failures occur are alsoconnected to the management server S.

The user unit STBN stores, in a memory M, state data DE related tohardware and software parameters associated to an operation mode of theuser unit. These state data DE are preferably stored when one or morepredefined states change their value. A monitoring module SU is incharge of detecting one or more state data DE indicating one or morefailures or functioning anomalies which lead to transitions of statescausing the transmission of the state data DE to the management serverS.

The log file J containing the states of user units with their values andthe transitions associated to a date and a time is converted by theserver by transforming the transitions into states with two values 0 or1 in order to allow their analysis by correlations. For example, anabrupt passage from a value of a state representing the normalfunctioning of the user unit towards a critical value recorded in formof a transition is converted into a state “crash” whose value 0indicates the normal functioning and the value 1 a failure. A stateindicating the remaining capacity of a hard disk which reaches a valuenear zero is converted into “disk full =1” indicating a full hard disk.A “slow zap=1” state indicating a low speed of channel change resultsfrom a “zap speed” state whose value is lower than a predefinedthreshold.

A failure or functional defect is generally defined by a value relatedto a state situated over or under a foreseen limit value or a referencevalue measured during a normal functioning of the user unit. Themonitoring module SU includes filters and comparators associated to aselection of states to be monitored. A failure is recognized by one ormore states values out of limits and/or by an abnormally high number ofstates values out of limits recorded in the memory at many timeintervals, or by high warnings frequency related to abnormal states. Aparticular state, for example “crash”, can indicate a failure related toa set of states.

When a critical state compromising the normal functioning of a user unitsuch as, for example, “crash”, “disk remaining capacity”, “signalstrength”, etc. transits from a neutral value towards an active value,the monitoring module SU activates a collecting and transmission moduleCT which collects state data sets stored in the memory M related tostates monitored by the monitoring module SU and state data setsrecorded during a predefined period before the failure. These state datasets are then transmitted via the communication network R to themanagement server S that includes an analysis module A in charge ofanalyzing them.

For example in the log file J, a “crash=1” state may indicate a failurewhen a current states configuration does not correspond to a statesconfiguration related to a normal functioning of the user unit STBNdefined by the state “crash=0”.

The temporary data associated to the states do not only indicate thedate and time at which a state value has been recorded in the memory butalso the date and time at which a transition from an initial state valuetowards a final value took place such as, for example, the transitionfrom the state “crash” 0 to 1. Some states are determined by temporaldata of other states. For example a “zap speed” state indicating a lowspeed of reception channel change is determined by the time intervalbetween leaving a current channel (current channel state=12) andactivating a new channel (new channel state 18). When this time intervalis higher than a reference time interval, the “zap speed” state takes aninsufficient value in comparison with a normal value which leads to the“slow zap=1” state in the log file J. This time interval depends onfactors like: the reaction time of the user unit to the remote control,the time for adjusting the new channel, the reception and connectiontime of the program tables PAT, PMT, the verification time of theconditional access or the parental control, the display time of thefirst image, etc. All these factors can also be represented by statesmonitored by the monitoring module SU and transmitted to the managementserver S if necessary.

According to an embodiment, the conversion of the transitions intostates with two values can be performed by the monitoring module SU ofeach user unit. The state data are thus transmitted to the managementserver S by the collecting and transmission module CT when one orseveral of these states with two values take a value 0 or 1 indicating afailure.

According to an embodiment, on reception of state data by the managementserver S, the analysis module A of the latter can transmit to the userunit STBN a response message ME which will be processed by themonitoring module SU in order to indicate that the failure is managed bythe management server S. The message ME can also indicate the states ofthe user unit STBN involved in a failure, a probable cause of thefailure, a solution or a particular adjustment to carry out on the userunit STBN for resolving the failure.

According to an option, the management server S can send to one or moreuser units a request comprising a command for transmitting the statesdata recorded within a given period concerning predefined states. Thesestates data related to healthy user units can serve as a reference for afuture failure analysis. According to a configuration, the request sentby the management server S could activate the monitoring module SU inthe same way as at the apparition of one or several failures so that thecollecting and transmission module CT transmits the state data. Themanagement server S can also solicit the transmission of the state datawhen a user calls the maintenance operator for a fast failureresolution.

The management server S is also in charge of sending a setup file to theuser units comprising a list of states to be monitored and collected, alist of the transitions of the state values being able to activate thetransmission of state data by the collecting and transmission module CT.This setup file may also contain some transmission instructionsindicating for example a transmission frequency of the state data(number of times per hour, per day, etc.), and/or instructions relatedto states, state values or value transitions being able to activate thetransmission of the state data without indicating a failure. Forexample, state data can be transmitted when the measured temperature ofthe hard disk exceeds 60° C. The instructions of the setup file alsoallow preventing a saturation of the management server S due to a largestate data log file issued from a million user units for example. Inthis case, a probability (percentage) of transmission is associated toeach type of transition activating the state data transmission. Forexample, when the temperature of the disk exceeds 50° C., the state dataare transmitted 5 times out of 100 or with a probability of 5%.

According to a preferred configuration, the state data comprise, besidesthe state data of the user unit, at least one identification informationof the user unit in form of a unique serial number, an identifier of anassociated security module, a MAC address, an IP address, or anidentifier of a network node comprising the user unit STBN. Thepersonalization of the state data allows the management server Stransmitting response messages ME targeted to the concerned user unitsSTBN of the network R.

According to another embodiment, the state data can be anonymous. Inthis case, it preferably contains a digest (hash) calculated by the userunit STBN by means of a mathematical collision free unidirectional hashfunction on all or part of the state data. This digest allows the serverto validate the state data by comparing the received digest with adigest calculated by the management server S on the state data receivedfrom the user unit STBN. If the comparison is successful, the managementserver S recognizes the state data as being conform and coming from auser unit STBN connected to the communication network R.

According to another embodiment, the state data containingidentification information of the user unit can also include a digest(hash) calculated on all or part of the data. According to thecommunication protocol established between the user units and themanagement server, the state data are already accompanied by a digestlike for example in the case of a transmission in TCP/http mode wherethe transmitted data include a Cyclic Redundancy Check (CRC).

Moreover, in order to avoid abuse by transmissions of sensitive data tounauthorized systems, the management server S is authenticated by knownmeans and the data transmitted via the return channel secured. Inparticular, the state data are encrypted by the user unit STBN by meansof a transmission key known by the management server S.

In order to limit the number of user units STBN calling the server bythe return channel on the basis of already received state data, themanagement method of the return channel described in the documentUS20050138667 can be used. This method allows controlling a returnchannel leading towards a source system in an interactive televisionenvironment. An indication based on information associated to theinteractive television environment is generated by the source system andbroadcast to a plurality of receiver systems where each receiver systemcontrols the return channel on the basis of the indication in order toavoid a saturation of the server. For example when a radio receptionapplication breaks down 3 times a day on one million subscriberterminals, the server would receive 3 million state data sets withoutthe control indication thanks to which this large number of units can bereduced to the minimum necessary for drawing up statistics. In otherwords, when state data sets are transmitted at a high frequency, theserver can reduce this frequency thanks to this control indication.

Such an indication is expressed by a digital value linked to atransition and to a transmission probability of the state data monitoredin real time by one or more receiver systems of which each compares theindication with a random value to determine the use of the returnchannel. Thus, the user benefits from a foreseen service quality, as hecan obtain an access to the return channel when the service is lesslikely to be refused because of an insufficient capacity of the returnchannel in form of lack of server resources, modems or other systemresources. The indication may be monitored by a contents supplier whocan change the interactive contents broadcast to the receiver systems inorder to increase or reduce the probability that a user attempts to usethe return channel.

The example developed hereinafter based on establishing statisticalcorrelations among the state data shows a preferred realization of theinvention.

The user unit monitors 11 states: DC1234, ST3456, SD, HD, MPG, AC3,subtitle, bookings (contents reservations), slow zap, crash (failure)and stand-by, which state data form the lines of the table 1. Theselines correspond to 16 user units that each has transmitted 11 states tothe management server S, these states having been previously extractedfrom their memory M.

When one or several failures are detected by the monitoring module SU,the collecting and transmission module CT recovers state data on the onehand from broken-down user units “crash=1” and on the other hand fromuser units without failure “crash=0”, but with a “slow zap=1” state forexample.

In table 1, 8 user units designated by numbers 2, 4, 5, 7, 8, 12, 15,and 16 have failures which are indicated (crash=1) while 8 others do notpresent any failure (crash=0). The 16 state data sets thus constitute alog file J which will be analyzed by the server S by calculating thestatistic correlation coefficients (table 2) resulting from comparisonsbetween the different states values of the columns of table 1 taken twoby two. The entries in table 2 give the correlation of the states of thecolumns two by two.

According to a preferred configuration of the monitoring module SU, whena state data set is transmitted to the server S at the apparition of oneor several failures, the latter is generally shifted towards a locationof the memory consecutive to the one used to store the current statedata. A history record of the states is thus kept during a predeterminedtime period at the end of which new state data replace the old statedata transmitted to the server. This replacement can also be done when apredetermined number of shifts are reached, a number that can be fixedfor example by the setup file that the server transmits to the userunits.

TABLE 1 state data examples related to some functioning parameters orstates of 16 digital television decoders. slow stand- Log # DC1234ST3456 SD HD MPG AC3 subtitle bookings zap crash by 1 1 0 0 1 1 0 0 6 10 0 2 0 1 1 0 0 1 1 4 1 1 0 3 1 0 1 0 1 0 0 5 1 0 0 4 0 1 1 0 0 1 1 1 01 0 5 0 1 0 1 0 1 1 6 1 1 0 6 1 0 1 0 0 1 0 7 1 0 0 7 1 0 1 0 1 0 1 2 01 0 8 0 1 0 1 0 1 1 1 0 1 0 9 1 0 0 1 1 0 0 6 1 0 0 10 0 1 0 1 0 1 1 4 10 0 11 0 1 1 0 0 1 0 3 1 0 0 12 0 1 1 0 0 1 1 0 0 1 0 13 1 0 1 0 0 1 0 61 0 0 14 0 1 1 0 1 0 0 4 1 0 0 15 0 1 1 0 1 0 1 2 0 1 0 16 0 1 0 1 0 1 14 0 1 1

TABLE 2 correlation coefficients between the states data of columns ofthe table 1 slow stand- DC1234 ST3456 SD HD MPG AC3 subtitle bookingszap crash by DC1234 1.00 ST3456 −1.00 1.00 SD 0.07 −0.07 1.00 HD −0.070.07 −1.00 1.00 MPG 0.47 −0.47 0.07 −0.07 1.00 AC3 −0.47 0.47 −0.07 0.07−1.00 1.00 subtitle −0.62 0.62 −0.16 0.16 −0.36 0.36 1.00 bookings 0.57−0.57 −0.26 0.26 0.13 −0.13 −0.63 1.00 slow zap 0.33 −0.33 −0.07 0.070.07 −0.07 −0.68 0.80 1.00 crash −0.52 0.52 0.00 0.00 −0.26 0.26 0.88−0.63 −0.77 1.00 stand-by −0.20 0.20 −0.33 0.33 −0.20 0.20 0.23 0.02−0.33 0.26 1.00

The correlation coefficients r_(p) of the table 2 are calculated by theserver S using the formula below:

$\begin{matrix}{r_{p} = \frac{\sigma_{xy}}{\sigma_{x}\sigma_{y}}} & (1)\end{matrix}$where σ_(xy) refers to the covariance between the variables x and y, andσ_(x), σ_(y) the standard deviation of the variable x, respectively ofthe variable y.

In the example, the correlation coefficient r_(p) is calculated betweentwo series x and y of same length each containing 16 state values ofeach of the 16 user units of x (x₁, . . . , x₁₆) and of y (y₁, . . . ,y₁₆) of the columns corresponding to each of the 11 states (DC1234,ST3456, SD, HD, MPG, AC3, subtitle, bookings, slow zap, crash andstandby) of table 1.

The covariance between the variable x and y σ_(xy) is calculated in thefollowing way:

$\begin{matrix}{\sigma_{xy} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}{\left( {x_{i} - \overset{\_}{x}} \right) \cdot \left( {y_{i} - \overset{\_}{y}} \right)}}}} & (2)\end{matrix}$where the index i evolves from 1 to N=16 which is the number of statesets of each of the 16 user units taken into account and where:

$\begin{matrix}{\overset{\_}{x} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}{x_{i}\mspace{14mu}{is}\mspace{14mu}{the}\mspace{14mu}{average}\mspace{14mu}{of}\mspace{14mu}{the}\mspace{14mu}{values}\mspace{14mu}{of}\mspace{14mu} x}}}} & (3) \\{\overset{\_}{y} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}{y_{i}\mspace{14mu}{is}\mspace{14mu}{the}\mspace{14mu}{average}\mspace{14mu}{of}\mspace{14mu}{the}\mspace{14mu}{values}\mspace{14mu}{of}\mspace{14mu} y}}}} & (4)\end{matrix}$

The standard deviations σ_(x) and σ_(y) are calculated in the followingway:

$\begin{matrix}{\sigma_{x} = \sqrt{\frac{1}{N}{\sum\limits_{i = 1}^{N}\left( {x_{i} - \overset{\_}{x}} \right)^{2}}}} & (5) \\{\sigma_{y} = \sqrt{\frac{1}{N}{\sum\limits_{i = 1}^{N}\left( {y_{i} - \overset{\_}{y}} \right)^{2}}}} & (6)\end{matrix}$

The starting formula (1) becomes the following by replacing σ_(xy),σ_(x) and σ_(y) according to the above definitions (2) to (6):

$\begin{matrix}{r_{p} = \frac{\sum\limits_{i = 1}^{N}{\left( {x_{i} - \overset{\_}{x}} \right) \cdot \left( {y_{i} - \overset{\_}{y}} \right)}}{\sqrt{\sum\limits_{i = 1}^{N}\left( {x_{i} - \overset{\_}{x}} \right)^{2\;}} \cdot \sqrt{\sum\limits_{i = 1}^{N}\left( {y_{i} - \overset{\_}{y}} \right)^{2}}}} & (7)\end{matrix}$

The correlation coefficient r_(p) thus calculated takes values between−1 and +1, including the extreme values −1 and +1.

The correlation coefficient r_(p) is equal to +1 if one of the variablesx or y is an increasing function of the other variable y or x. It isequal to −1 if the function is decreasing. The intermediate valuesinform on the degree of linear dependence between the two variables xand y. The nearer the coefficient r_(p) is to the extreme values −1 and+1; the stronger is the correlation between the variables. A correlationcoefficient r_(p) equal to 0 means that the variables x and y are notcorrelated, thus independent one from the other.

A negative correlation coefficient near −1 can indicate a strongcorrelation in the same way as a positive coefficient near +1 accordingto the value of the concerned states. In fact, a state indicating forexample a hard disk filling rate of 40% is complementary to a stateindicating the remaining space of 60% of the same disk. Correlationscarried out between these complementary states with other states willhave same coefficients but with opposed signs.

In table 2, the correlation coefficient r_(p) between the “subtitle” and“crash” states is 0.88, near +1. This means that the failures indicatedby “crash=1” are certainly linked to the use of subtitles during thevisualization of programs. For example, the subtitles are illegible,incomplete, or displaced because of missing data packets in thetransmitted subtitles stream associated to the program currently beingviewed.

The correlation coefficient 0.8 between the “booking” and “slow zap”states also near +1 shows that when the number of bookings increases,the zapping speed is reduced. A probable cause of this low zapping speedwould be a large number of bookings carried out and/or an insufficientbroadcast rhythm of program tables PMT and/or event information tablesEIT.

The failures “crash” are independent from the operation mode of the userunit in high definition (HD) or in standard definition (SD), thecorrelation coefficient being equal to 0.

In this example, the failures “crash” are not expressly linked to thenumber of reservations “bookings” and to the low zapping speed “slowzap” as their respective correlation coefficient is negative −0.63 and−0.77 respectively. In other words, the “bookings” and “slow zap” statesare not directly concerned by the failure <<crash=1>>.

A high correlation coefficient (near −1 or +1) does not implynecessarily a causality relation between the two measured states. Infact, the two states can be correlated to a same initial state in formof a third not measured state on which the two others depend. In thiscase, the correlation coefficient, while indicating the states involvedin the failure, also gives an indication in which direction a cause ofthe failure is to be searched.

The addition of measurements of other states which may have no relationwith the states measured before, like for example the measurement ofstates during another operation mode of the user unit such as standby,the DVB (Digital Video Broadcast) reception mode or IP (InternetProtocol), the interactive mode, etc., can sometimes appear useful forestablishing more appropriate correlations.

The determination of correlation coefficients as in the above exampleallows rapidly establishing and simplifying the interpretation of thelinks between the states of the user unit in order to target the searchof a cause of detected failure(s).

This advantage becomes important when the server processes a very largenumber of user units for which it also establishes failure statisticsand state history records. Moreover, parameters external to the userunits such as the global state of the communication network, the leveland the quality of the transmitted signals, the bandwidth or the datathroughput, the load, etc. can also be correlated with statesrepresenting the behavior of a user unit or a group of user units. Forexample a big network load can degrade the quality of the reception ofhigh definition programs which leads to failures “crashes” linked forexample to the “HD”, “slow zap” states, or to a too slow decodingleading to an incomplete and/or jerky image display.

The invention claimed is:
 1. A system for remote maintenance of userunits comprising: a management server; and a plurality of user unitsconnected to the management server via a communication network, eachuser unit being configured for transmitting to the management server,via the communication network, state data related to hardware andsoftware parameters associated to an operation mode of the user unit;wherein each user unit comprises: a memory configured to store the statedata of the user unit comprising variable values related to states ofthe user unit, values indicating a transition from an initial value of agiven state towards a final value of the same state and temporal dataassociated to the states; a state data monitoring module configured todetect at least one value of a specific state or a transition of a valueof a state indicating an operational failure of the user unit; and astate data collecting and transmission module configured to be activatedwhen a failure is detected by the monitoring module, and to extract fromthe memory and transmit to the management server state datacorresponding to current states of the user unit at the moment of thefailure; and wherein the management server is configured to receive andanalyze the state data transmitted by each user unit, to determinerelations between the state data from a statistic correlationcoefficient between a series x of values of a state of each user unitand a series v of values of another state of each user unit, thestatistic correlation coefficient having a value near the extreme valuesof +1 or −1indicating states involved in a failure, and to transmit toeach user unit a setup file comprising at least a list of states to bemonitored and collected and a list of state value transitions foractivating transmission of state data by the state data collecting andtransmission module of each user unit.
 2. The system according to claim1, wherein the state data collecting and transmission module transmitsstate data corresponding to states stored during a predetermined periodbefore the failure, in addition to the current states of the user unitat the moment of the failure.
 3. The system according to claim 1,wherein the management server transmits at least one response messagecoming from the analysis module to the user unit, said response messageindicating that the failure detected by the monitoring module is managedby the management server.
 4. The system according to claim 3, whereinthe response message indicates the states of the user unit involved in afailure, a probable cause of said failure, a solution or a particularadjustment to be carried out on the user unit for solving the failure.5. The system according to claim 1, wherein the state data comprise,besides the state values of the user unit, at least one piece ofidentification information of the user unit.
 6. The system according toclaim 1, wherein the state data are anonymous.
 7. The system accordingto claim 1, wherein the state data contain a digest calculated by theuser unit using a mathematical collision free unidirectional hashfunction on all or part of the state data, said digest being used for avalidation of said data by the management server.
 8. The systemaccording to claim 1, wherein the user unit is further configured toencrypt the state data by means of a transmission key known by themanagement server.
 9. The system according to claim 1, wherein themonitoring module is configured to rewrite, in the memory, new statedata instead of previous state data when state data is transmitted tothe server when one or more failures are detected.
 10. A system forremote maintenance of user units comprising: a management server; and aplurality of user units connected to the management server via acommunication network, each user unit being configured for transmittingto the management server, via the communication network, state datarelated to hardware and software parameters associated to an operationmode of the user unit wherein each user unit comprises: a memoryconfigured to store the state data of the user unit comprising variablevalues related to states of the user unit, values indicating atransition from an initial value of a given state towards a final valueof the same state and temporal data associated to the states; a statedata monitoring module configured to detect at least one value of aspecific state or a transition of a value of a state indicating anoperational failure of the user unit and a state data collecting andtransmission module configured to be activated when a failure isdetected by the monitoring module, and to extract from the memory andtransmit to the management server state data corresponding to currentstates of the user unit at the moment of the failure; and wherein themanagement server is configured to receive and analyze the state datatransmitted by each user unit, to determine a statistic correlationcoefficient resulting from a comparison of the values of each state ofall the user units with the values of other states of all the userunits; and to transmit to each user unit a setup file comprising atleast a list of states to be monitored and collected and a list of statevalue transitions for activating transmission of state data by the statedata collecting and transmission module of each user unit, and totransmit instructions related to states, state values or valuetransitions for activating the transmission of state data withoutindicating a failure.
 11. A method for remote maintenance of user unitsconnected to a management server via a communication network, each userunit transmitting to the management server, via the communicationnetwork, state data related to hardware and software parametersassociated to an operation mode of the user unit, the method comprising:reading by the user unit a setup file provided by the management center,the setup file comprising at least a list of states to be monitored andcollected and a list of state value transitions for activatingtransmission of state data by each user unit to the management center,and instructions related to states, state values or value transitionsfor activating transmission of state data without indicating a failureby each user unit to the management center, storing, in a memory of theuser unit, state data comprising variable values related to states ofthe user unit, values indicating a transition from an initial value of agiven state towards a final value of the same state, and temporal dataassociated to the states; monitoring the state data stored in the memoryand detecting at least one value of a specific state or a transition ofa value of a state indicating an operational failure of the user unit;when a failure is detected, extracting, from the memory, state datacorresponding to current states of the user unit at the moment of thefailure; and transmitting the state data to the management server anddetermining, by the management server, a statistic correlationcoefficient resulting from a comparison of the values of each state ofall the user units with the values of other states of all the userunits.
 12. The method according to claim 11, wherein the managementserver transmits at least one response message to the user unit, saidresponse message indicating that the detected failure managed by themanagement server.
 13. The method according to claim 12, wherein theresponse message indicates the states of the user unit involved in afailure, a probable cause of said failure, a solution or a particularadjustment to be carried out on the user unit for solving the failure.14. A user unit connectable to a management server via a communicationnetwork the user unit comprising: a memory configured to store the statedata of the user unit comprising variable values related to states ofthe user unit, values indicating a transition from an initial value of agiven state towards a final value of the same state and temporal dataassociated to the states; a state data monitoring module configured todetect at least one value of a specific state or a transition of a valueof a state indicating an operational failure of the user unit; and astate data collecting and transmission module configured to be activatedwhen a failure is detected by the monitoring module, and to extract fromthe memory and transmit to the management server state datacorresponding to current states of the user unit at the moment of thefailure; the state data monitoring module being further configured toread a setup file provided by the management center, the setup filecomprising at least a list of states to be monitored and collected and alist of state value transitions for activating transmission of statedata by the state data collecting and transmission module, the list ofstates to be monitored and collected being based at least in part onrelations between the state data from a statistic correlationcoefficient between a series of x values of a state of the user unit andother user units and a series of y values of another state of the userunit and other user units, the statistic correlation coefficient havinga value near the extreme values of +1 or −1 indicating states involvedin a failure.
 15. The user unit of claim 14, wherein the state datacollecting and transmission module is further configured to extract fromthe memory and transmit to the management server state datacorresponding to states of the user unit during a predetermined periodbefore the failure in addition to the states of the current states ofthe user unit at the moment of the failure.
 16. A method for remotemaintenance of user units connected to a management server via acommunication network, each user unit transmitting to the managementserver, via the communication network, state data related to hardwareand software parameters associated to an operation mode of the userunit, the method comprising: reading by the user unit a setup fileprovided by the management center, the setup file comprising at least alist of states to be monitored and collected and a list of state valuetransitions for activating transmission of state data by each user unitto the management center; storing, in a memory of the user unit, statedata comprising variable values related to states of the user unit,values indicating a transition from an initial value of a given statetowards a final value of the same state, and temporal data associated tothe states; monitoring the state data stored in the memory and detectingat least one value of a specific state or a transition of a value of astate indicating an operational failure of the user unit; when a failureis detected, extracting, from the memory, state data corresponding tocurrent states of the user unit at the moment of the failure; andtransmitting the state data to the management server and determining, bythe management server, relations between the state data from a statisticcorrelation coefficient between a series x of values of a state of eachuser unit and a series y of values of another state of each user unit,the statistic correlation coefficient having a value near the extremevalues of +1 or −1 indicating states involved in a failure.